package IO;

import java.awt.*;
import java.io.File;

/**
 * 1.递归打印文件目录
 * 2.统计文件夹大小
 */
public class Dir01 {
    public static void main(String[] args) {
        File f = new File("E:/Code/Java练习/IO/src/IO/Dir");
//        PrintFileName(f, 0);
        FileCount(f);
        System.out.println(len);
    }

    private static long len = 0;

    //打印目录
    public static void PrintFileName(File f, int deep) {
        System.out.println(f.getName() + "---" + deep);
        if (f == null || !f.exists()) {
            return;
        } else if (f.isDirectory()) {
            for (File F : f.listFiles()) {
                PrintFileName(F, deep + 1);
            }
        }
    }

    //统计文件夹大小
    public static void FileCount(File f) {
        if (f != null && f.exists()) {
            if (f.isFile()) {
                len += f.length();
            } else {
                for (File s : f.listFiles()) {
                    FileCount(s);
                }
            }
        }
    }
}
